5ccd2e
@@ -153,7 +153,9 @@
public void run() {
                 partn.getInputFormatClass(), jc);
             InputSplit dummySplit = new FileSplit(file.getPath(), 0, 0,
                 new String[] { partn.getLocation() });
-            Object recordReader = inputFormat.getRecordReader(dummySplit, jc, Reporter.NULL);
+            org.apache.hadoop.mapred.RecordReader<?, ?> recordReader =
+                (org.apache.hadoop.mapred.RecordReader<?, ?>)
+                inputFormat.getRecordReader(dummySplit, jc, Reporter.NULL);
             StatsProvidingRecordReader statsRR;
             if (recordReader instanceof StatsProvidingRecordReader) {
               statsRR = (StatsProvidingRecordReader) recordReader;
@@ -163,6 +165,7 @@
public void run() {
               numFiles += 1;
               statsAvailable = true;
             }
+            recordReader.close();
           }
         }
 
@@ -254,6 +257,7 @@
private int aggregateStats(ExecutorService threadPool) {
                 numFiles += 1;
                 statsAvailable = true;
               }
+              recordReader.close();
             }
           }
 
